import varShortTime from '../storage/varShortTime.js';
import config from '../../focus.config.js';

/**
 * 网络请求通用IP地址头部【同步方法】
 * @description 网络请求通用接口IP地址头部
 * @param {String} type 处理方式，值域：get-获取；set-设置
 * @param {String} data "set设置"处理下要设置的IP地址头
 * @return {String} 通用接口地址头的字符串
 */
function http(type = 'get', data = '') {
	
	// 初始化返回数据为false
	var data_return = false;
	
	// 临时变量名
	var str_name = '$focus_network_http_apiHead';
	
	// 获取处理模式
	if (type == 'get')
	{
		// 读取临时缓存
		var save_short = varShortTime('get');
		// 缓存有数据执行
		if (save_short && save_short[str_name])
		{
			// 返回值 赋值
			data_return = save_short[str_name];
		}
		// 无数据则进行创建
		else {
			// 获取框架配置文件
			var config_local = config;
			console.log(config_local,'config_local--config_local');
			
			// 运行环境：开发环境
			if (process.env.NODE_ENV === 'development') { data_return = config_local.http.development; }
			// 运行环境：生产环境
			else { data_return = config_local.http.production; }
			// 重新构建要保存的数据
			var obj_newsave = {}; obj_newsave[str_name] = data_return;
			// 重新缓存请求地址头
			varShortTime('set', obj_newsave);
		}
	}
	
	// 设置处理模式
	else if (type=='set' && typeof(data)=="string" && data.length>0)
	{
		// 重新构建要保存的数据
		var obj_newsave = {}; obj_newsave[str_name] = data;
		// 将传入数据保存到临时缓存
		varShortTime('set', obj_newsave);
		// 返回true成功
		data_return = true;
	}
	
	// 其它情况，标识为"获取失败"
	else { data_return = false; }
	
	// 返回结果数据
	return data_return;
}

export default http;